Branch-and-Cut Algorithms for Combinatorial Optimization and Their Implementation in ABACUS

نویسندگان

  • Matthias Elf
  • Carsten Gutwenger
  • Michael Jünger
  • Giovanni Rinaldi
چکیده

Branch-and-cut (-and-price) algorithms belong to the most successful techniques for solving mixed integer linear programs and combinatorial optimization problems to optimality (or, at least, with certified quality). In this unit, we concentrate on sequential branch-and-cut for hard combinatorial optimization problems, while branch-and-cut for general mixed integer linear programming is treated in [−→ Martin] and parallel branch-and-cut is treated in [−→ Ralphs/Trotter]. After telling our most recent story of a successful application of branch-and-cut in Section 1, we give in Section 2 a brief review of the history, including the contributions of pioneers with an emphasis on the computational aspects of their work. In Section 3, the components of a generic branch-and-cut algorithm are described and illustrated on the traveling salesman problem. In Section 4 we first elaborate a bit on the important separation problem where we use the traveling salesman problem and the maximum cut problem as examples, then we show how branch-and-cut can be applied to problems with exponentially many variables (branch-and-cut-and-price). Section 5 is devoted to the design and applications of the ABACUS software framework for the implementation of branch-and-cut algorithms. Finally, in Section 6, we make a few remarks on the solution of the exercise consisting of the design of a simple TSP-solver in ABACUS. 1 Our Most Recent Story Branch-and-cut has become a widely used method for the solution of hard integer of mixed integer problems. We refer to a recent survey of Caprara and Fischetti [12] for a view on its wide range of applications. In this chapter the emphasis will be mostly on combinatorial optimization problems. Before going into a brief historical tour through the main algorithmic achievements that lead to or are connected with branch-and-cut, hoping to get reader’s interest before entering into more technical topics, we want to report on our most recent experience with this method. The little story that follows in not only an example where branch-and-cut was quite useful, but shows also how combinatorial optimization can sometimes provide an excellent modeling tool to solve real world problems. During the seminar “Constraint Programming and Integer Programming” in Schloß Dagstuhl, Germany, 17–21 January 2000, the participants tried to identify problems for which a fruitful interaction/competition of constraint programming techniques and integer/combinatorial optimization techniques appears challenging and is likely to enhance the interaction of both communities. One problem area the participants agreed upon consists of various feasibility/optimization problems occurring in scheduling sports tournaments. The break minimization problem for sports leagues was addressed by both communities during the workshop, in particular by Jean Charles Régin of the constraint programming community and by Michael Trick of the integer programming/combinatorial optimization community. 2 Elf/Gutwenger/Jünger/Rinaldi 1.1 Break Minimization We deal with the situation where in a sports league consisting of an even number n of teams each team plays each other team once in n − 1 consecutive weeks. Each game is played in one of the two opponents home towns, such that the following restrictions apply to each feasible schedule: F1 For each team, the teams played in weeks 1, . . . , n − 1 are a permutation of all other teams. F2 If in week w team i plays team j “at home” (“+”) then team j plays team i in week w in i’s town, i.e., “away” (“−”). Fig. 1 shows two possible schedules for a league of eight teams. The rows show the game plan for each team, column 1 displays a team, column w ∈ {2, . . . , n} show the opponent in week w − 1, “+”, and “−”, respectively, indicate if the game is at home or away. In sports 1 : +2 −3 −4 +5 +6 −7 +8 2 : −1 +7 −5 +4 −3 −8 +6 3 : −7 +1 +8 −6 +2 +5 −4 4 : +5 −8 +1 −2 +7 −6 +3 5 : −4 −6 +2 −1 +8 −3 +7 6 : +8 +5 −7 +3 −1 +4 −2 7 : +3 −2 +6 −8 −4 +1 −5 8 : −6 +4 −3 +7 −5 +2 −1 (a) 1 : +8 +3 −5 +7 −2 +4 −6 2 : +7 −8 +4 −6 +1 −3 +5 3 : +6 −1 +8 +5 −7 +2 −4 4 : −5 +7 −2 −8 +6 −1 +3 5 : +4 −6 +1 −3 +8 +7 −2 6 : −3 +5 −7 +2 −4 −8 +1 7 : −2 −4 +6 −1 +3 −5 +8 8 : −1 +2 −3 +4 −5 +6 −7

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The ABACUS system for branch-and-cut-and-price algorithms in integer programming and combinatorial optimization

The development of new mathematical theory and its application in software systems for the solution of hard optimization problems have a long tradition in mathematical programming. In this tradition we implemented ABACUS, an object-oriented software framework for branch-and-cut-and-price algorithms for the solution of mixed integer and combinatorial optimization problems. This paper discusses s...

متن کامل

The Design of the Branch-and-cut System Abacus

The software system ABACUS is an object-oriented framework for the implementation of branch-and-cut and branch-and-price algorithms. This paper describes the design of ABACUS including the design principles and the most important classes.

متن کامل

The Design of the Branch - and - Cut SystemABACUSMichael

The software system ABACUS is an object-oriented framework for the implementation of branch-and-cut and branch-and-price algorithms. This paper describes the design of ABACUS including the design principles and the most important classes.

متن کامل

Branch-and-cut Algorithms for Integer Programming, Branch-and-cut

Branch-and-cut methods are exact algorithms for integer programming problems. They consist of a combination of a cutting plane method with a branch-and-bound algorithm. These methods work by solving a sequence of linear programming relaxations of the integer programming problem. Cutting plane methods improve the relaxation of the problem to more closely approximate the integer programming probl...

متن کامل

Parallel Search-Based Methods in Optimization

Search-based methods like Branch and Bound and Branch and Cut are essential tools in solving diicult problems to optimality in the eld of combinatorial optimization, and much experience has been gathered regarding the design and implementation of parallel methods in this eld. Search-based methods appear, however, also in connection with certain continuous optimization problems and problems in A...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001